Traditionally two types of encryption techniques are used to secure data: authentication techniques and cipher techniques. The authentication techniques are used to guarantee that a message was received intactly from a particular sender. However, authentication does not protect the contents of the message from being viewed. Instead, the authentication techniques protect the integrity of a message.
The cipher techniques are used to conceal the contents of a message transferred from the sender to the receiver. However, encryption, transmission and subsequent decryption do not guarantee that the message has not been altered during the transmission. The cipher techniques protect the confidentiality of the message.
Typically, authentication and cryptography are used in a two-step process. Received cipher text may be decrypted in a first step to generate the original plain text. The plain text may be authenticated during a second step. Such two-step processes commonly use a double buffer method, a first buffering during the decryption and a second buffering in support of the authentication.
It would be desirable to implement a technique where recovery and authentication of the plain text are achieved in a single step using a single buffer.